home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickTime / QuickTime 3 Interfaces & Libs / QTDevWin / CIncludes / ZoomedVideo.h < prev   
Encoding:
C/C++ Source or Header  |  1998-08-21  |  4.4 KB  |  161 lines  |  [TEXT/dosa]

  1. /*
  2.      File:        ZoomedVideo.h
  3.  
  4.      Contains:    PC Card Family Zoomed Video Driver Interface
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1996-1998 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __ZOOMEDVIDEO__
  19. #define __ZOOMEDVIDEO__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __DEVICES__
  25. #include <Devices.h>
  26. #endif
  27.  
  28.  
  29.  
  30. #if PRAGMA_ONCE
  31. #pragma once
  32. #endif
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #if PRAGMA_IMPORT
  39. #pragma import on
  40. #endif
  41.  
  42. #if PRAGMA_STRUCT_ALIGN
  43.     #pragma options align=mac68k
  44. #elif PRAGMA_STRUCT_PACKPUSH
  45.     #pragma pack(push, 2)
  46. #elif PRAGMA_STRUCT_PACK
  47.     #pragma pack(2)
  48. #endif
  49.  
  50. #define kZVDriverName "\p.ZVPort"
  51.  
  52. /* Control codes */
  53.  
  54.  
  55. enum {
  56.     cscZVVideoEnable            = 2,                            /* Used to enable or disable ZV Video*/
  57.     cscZVSetCurrentAnalogValue    = 3,                            /* Used to set brightness, contrast, etc.*/
  58.     cscZVSetInput                = 9,                            /* Set video source to selected input*/
  59.     cscZVSetInputStandard        = 11,                            /* Set the input to NTSC, PAL, or SECAM*/
  60.     cscZVGetMaxSourceRect        = 12                            /* Get Maximum Source Rect*/
  61. };
  62.  
  63. /* Status codes*/
  64.  
  65. enum {
  66.     cscZVGetVideoEnable            = 2,                            /* Indicates whether ZV Video is enabled*/
  67.     cscZVGetCurrentAnalogValue    = 3,                            /* Used to get brightness, contrast, etc.*/
  68.     cscZVGetDefaultAnalogValue    = 4,
  69.     cscZVGetVSyncState            = 5,                            /* Used to look for a Vertical Sync on ZV Video*/
  70.     cscZVGetInfo                = 6,                            /* Returns the ZV Information*/
  71.     cscZVGetInputFlags            = 7,                            /* Returns the input flags.*/
  72.     cscZVGetNumberOfInputs        = 8,                            /* Returns the number of video inputs*/
  73.     cscZVGetInput                = 9,                            /* Zero-based input number*/
  74.     cscZVGetInputFormat            = 10                            /* Returns whether input is compsite/s-video*/
  75. };
  76.  
  77.  
  78. /*
  79.   -----------------------------------------------------------------
  80.    Additional parameters for csInfoZV control call
  81.       A pointer to ZVInfo is passed in csParam[0] (and csParam[1])
  82.       which must be filled by the driver in response to this call.
  83. */
  84.  
  85. typedef UInt32                             ZVFeatures;
  86.  
  87. enum {
  88.     kZVHasAudio                    = (1 << 0),
  89.     kZVHasTVTuner                = (1 << 1),
  90.     kZVHasContrast                = (1 << 16),
  91.     kZVHasBrightness            = (1 << 17),
  92.     kZVHasSharpness                = (1 << 18),
  93.     kZVHasSaturation            = (1 << 19),
  94.     kZVHasHue                    = (1 << 20)
  95. };
  96.  
  97.  
  98.  
  99. struct ZVInfo {
  100.     ZVFeatures                         features;
  101.     UInt32                             currentFlags;
  102.     Rect                             activeRect;
  103.     Boolean                         isInterlaced;
  104.     SInt8                             filler;
  105.     UInt32                             reserved1;
  106.     UInt32                             reserved2;
  107. };
  108. typedef struct ZVInfo                    ZVInfo;
  109.  
  110. struct ZVFlagRecord {
  111.     Boolean                         csFlag;
  112.     SInt8                             filler;
  113. };
  114. typedef struct ZVFlagRecord                ZVFlagRecord;
  115. /*
  116.   -----------------------------------------------------------------
  117.    Additional definitions for "AnalogCtlZV" control calls
  118.       A pointer to a ZVSetAnalogControlParam is passed to the driver
  119.       whenever the system needs to adjust one of the analog settings.
  120. */
  121.  
  122. typedef UInt16                             ZVAnalogControlSelector;
  123.  
  124. enum {
  125.     kZVContrast                    = 1,                            /* Range:  0x0 <= no change to image, larger values increase the contrast*/
  126.     kZVBrightness                = 2,                            /* Range:  0x0 <= darkest setting, 0xffff = lightest setting*/
  127.     kZVSharpness                = 3,                            /* Range:  0x0 <= no sharpness filtering, 0xffff <= full sharpness filtering*/
  128.     kZVSaturation                = 4,                            /* Range:  0x0 <= min saturation, 0xffff <= max saturation        */
  129.     kZVHue                        = 5,                            /* Range:  0x0 <= -180º shift in hue, 0xffff <= 179º shift, 0x8000 <=0º shift*/
  130.     kZVBlackLevel                = 6,                            /* Range:  0x0 <= max black, 0xffff <= min black level*/
  131.     kZVWhiteLevel                = 7                                /* Range:  0x0 <= min white, 0xffff <= max white level*/
  132. };
  133.  
  134.  
  135. struct ZVAnalogControlRecord {
  136.     ZVAnalogControlSelector         whichControl;
  137.     UInt16                             value;
  138. };
  139. typedef struct ZVAnalogControlRecord    ZVAnalogControlRecord;
  140.  
  141. #if PRAGMA_STRUCT_ALIGN
  142.     #pragma options align=reset
  143. #elif PRAGMA_STRUCT_PACKPUSH
  144.     #pragma pack(pop)
  145. #elif PRAGMA_STRUCT_PACK
  146.     #pragma pack()
  147. #endif
  148.  
  149. #ifdef PRAGMA_IMPORT_OFF
  150. #pragma import off
  151. #elif PRAGMA_IMPORT
  152. #pragma import reset
  153. #endif
  154.  
  155. #ifdef __cplusplus
  156. }
  157. #endif
  158.  
  159. #endif /* __ZOOMEDVIDEO__ */
  160.  
  161.